<?php
/**
 * Created by b17
 * 2/16/12 5:56 PM
 */

class Admin_RubricsController extends G4T_CrudController
{

    public function indexAction()
    {
        $items = $this->manager->getList();
        $this->view->items = $items;
    }

    /**
     * Возвращает менеджер для работы с сущностью.
     *
     * @return \Managers\CrudManager
     */
    protected function getManager()
    {
        return new \Managers\Rubrics();
    }

    /**
     * Возвращает строителя форм для создания форм.
     * @return \G4T\Form\FormBuilder
     */
    protected function createFormBuilder()
    {
        $formBuilder = \G4T\Form\FormBuilder::createFormBuilder(\Managers\Rubrics::TABLE)
            ->addField('name', 'string', array('label' => 'Name', 'class' => 'medium-input'))
            ->addField('token', 'hash')
            ->addField('submit', 'submit', array('label' => 'Save', 'class' => 'btn btn-primary'));
        return $formBuilder;
    }

    /**
     * Переход при не найденой сущности.
     * @param $id
     */
    protected function redirectWhenNotFound($id = null)
    {
        $this->_flashMessenger->addMessage('Rubric not found.', Lib_Flash::ERROR, Lib_Flash::LATER);
        $this->_redirect('/admin/rubrics');
    }

    /**
     * Переход при успешном изменении объекта.
     * @param $entity
     */
    protected function redirectWhenSuccess($entity = null)
    {
        $this->_flashMessenger->addMessage('Rubric saved.', Lib_Flash::NOTICE, Lib_Flash::LATER);
        $this->_redirect('/admin/rubrics');
    }
}
